In the design of an integrated circuit device, it is typically useful to simulate functional modules of the device, prior to building physical device samples, in order to ensure that the device will operate in compliance with a specification. Modules, in turn, are assemblies of circuits, and each circuit is made up of physical components such as transistors.
Models of circuits are used to simulate operation of the physical circuits. In the simulation process, it is desirable to determine the extent of potential variability in the operation of a circuit, so that variability in circuit operation can be accounted for in the design of an entire integrated circuit device.
One method of determining the variability of a circuit includes simulating the operation of the circuit while randomly varying each of a number of component characteristics such as transistor threshold voltage, transistor channel length, and transistor channel width, for each transistor of the circuit. Such methods are known as Monte Carlo methods. However, this process can be unduly lengthy. For example, for a circuit having 6 transistors, with three component characteristics for each transistor, millions of simulations may be run in order to determine circuit variability, requiring many hours or days of simulation time. Alternatively, the operation of the circuit can be simulated assuming that each component characteristic of the circuit is at a specified worst-case variation from nominal values. However, these assumptions typically will not accurately reflect actual operating conditions of the circuit.